library(ggmap)
## Loading required package: ggplot2

Recuperar un mapa descargado.

load("un.RData")
ggmap(un, extent = "normal")

library(sp)
ggmap(un) 

Mapa de puntos con valores de elevación

datosElev <- read.csv2("elevacionMedellin.csv")
ggplot(datosElev, aes(x, y, col = elevacion)) +
  geom_point()

Recuperar el mapa de Medellín.

load("medellin.RData")

Graficación del mapa de Medellín agregándole puntos.

ggmap(medellin, base_layer = ggplot(datosElev, aes(x, y, col = elevacion))) +
  geom_point()
## Warning: Removed 14 rows containing missing values (geom_point).

ggmap(medellin, base_layer = ggplot(datosElev, aes(x, y, col = elevacion))) +
  geom_point() +
  scale_color_gradient(low = "yellow", high = "red")
## Warning: Removed 14 rows containing missing values (geom_point).

Conversión del tipo de datos.

library(gstat)
rangoX <- range(datosElev$x)
rangoY <- range(datosElev$y)
malla <- expand.grid(x = seq(from = rangoX[1], to = rangoX[2], length.out = 200),
                     y = seq(from = rangoY[1], to = rangoY[2], length.out = 200))
coordinates(malla) <- ~ x + y
gridded(malla) <- TRUE
elevMed <- SpatialPointsDataFrame(datosElev[, c(1, 2)],
                                  data = datosElev)

Generación del mapa del calor.

inversoDistanciaPonderada <- idw(formula = elevacion ~ 1, 
                                 locations = elevMed,
                                 newdata = malla, 
                                 idp = 5)
## [inverse distance weighted interpolation]
plot(inversoDistanciaPonderada)

inverDistPond <- data.frame(coordinates(inversoDistanciaPonderada),
                            elevEst = inversoDistanciaPonderada@data$var1.pred)

Superposición del mapa de calor.

ggmap(medellin, base_layer = ggplot(inverDistPond, aes(x, y, col = elevEst))) +
  geom_point(alpha = 0.05) +
  scale_color_gradient(low = "yellow", high = "red")
## Warning: Removed 5400 rows containing missing values (geom_point).